﻿<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>
        创建监控实例
    </title>
    <meta name="description" content="">
    <meta name="author" content="">

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

    <!-- #CSS Links -->
    <!-- Basic Styles -->
    <link rel="stylesheet" type="text/css" media="screen" href="css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" media="screen" href="css/font-awesome.css">

    <!-- SmartAdmin Styles : Caution! DO NOT change the order -->
    <link rel="stylesheet" type="text/css" media="screen" href="css/smartadmin-production-plugins.css">
    <link rel="stylesheet" type="text/css" media="screen" href="css/smartadmin-production.css">
    <link rel="stylesheet" type="text/css" media="screen" href="css/smartadmin-skins.css">

    <!-- SmartAdmin RTL Support -->
    <link rel="stylesheet" type="text/css" media="screen" href="css/smartadmin-rtl.css">

    <!-- Demo purpose only: goes with demo.js, you can delete this css when designing your own WebApp -->
    <link rel="stylesheet" type="text/css" media="screen" href="css/demo.css">

    <!-- #FAVICONS -->
    <link rel="shortcut icon" href="img/favicon/favicon.ico" type="image/x-icon">
    <link rel="icon" href="img/favicon/favicon.ico" type="image/x-icon">

    <!-- #GOOGLE FONT -->
    <link rel="stylesheet" href="css/open-sans.css" type="text/css">

    <!-- #APP SCREEN / ICONS -->
    <link rel="apple-touch-icon" href="img/splash/sptouch-icon-iphone.png">
    <link rel="apple-touch-icon" sizes="76x76" href="img/splash/touch-icon-ipad.png">
    <link rel="apple-touch-icon" sizes="120x120" href="img/splash/touch-icon-iphone-retina.png">
    <link rel="apple-touch-icon" sizes="152x152" href="img/splash/touch-icon-ipad-retina.png">

    <!-- iOS web-app metas : hides Safari UI Components and Changes Status Bar Appearance -->
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">

    <!-- Startup image for web apps -->
    <link rel="apple-touch-startup-image" href="img/splash/ipad-landscape.png"
          media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape)">
    <link rel="apple-touch-startup-image" href="img/splash/ipad-portrait.png"
          media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)">
    <link rel="apple-touch-startup-image" href="img/splash/iphone.png" media="screen and (max-device-width: 320px)">
    <link href="appcss/Common.css" rel="stylesheet" />

</head>
<body class="desktop-detected minified">

    <!-- #MAIN PANEL -->
    <div id="main" role="main">

        <!-- RIBBON -->
        <div id="ribbon">

            <span class="ribbon-button-alignment">
                <span class="btn btn-ribbon"><i class="fa fa-home"></i></span>
            </span>

            <!-- breadcrumb -->
            <ol class="breadcrumb">
                <li><a href="javascript:window.history.back();">监控实例管理</a></li>
                <li>创建监控实例</li>
            </ol>
            <!-- end breadcrumb -->

        </div>
        <!-- END RIBBON -->
        <!-- MAIN CONTENT -->
        <div id="content">
            <div class="row hidden">
                <div class="col-xs-12 col-sm-7 col-md-7 col-lg-4">
                    <h1 class="page-title txt-color-blueDark">
                        <i class="fa fa-edit fa-fw "></i>
                        主页
                        <span>
                            >
                            创建监控实例
                        </span>
                    </h1>
                </div>

            </div>

            <!-- widget grid -->
            <section id="widget-grid" class="">

                <!-- row -->
                <div class="row">

                    <!-- NEW WIDGET START -->
                    <!-- NEW WIDGET START -->
                    <article class="col-sm-12 col-md-12 ">

                        <!-- Widget ID (each widget will need unique ID)-->
                        <div class="jarviswidget" id="wid-id-2" data-widget-colorbutton="false"
                             data-widget-editbutton="false">
                            <header>
                                <h2>创建监控实例</h2>

                            </header>

                            <!-- widget div-->
                            <div>

                                <!-- widget edit box -->
                                <div class="jarviswidget-editbox">
                                    <!-- This area used as dropdown edit box -->

                                </div>
                                <!-- end widget edit box -->
                                <!-- widget content -->
                                <div class="widget-body no-padding">

                                    <!-- Success states for elements -->

                                    <form action="#" class="smart-form" id="AddForm">
                                        <header>填写相关信息</header>
                                        <fieldset>
                                            <section>
                                                <label class="label">类型</label>
                                                <label class="select">
                                                    <select name="IntegrityCheckId" id="IntegrityCheckId">
                                                        <option value="">请选择</option>
                                                    </select>
                                                </label>
                                            </section>
                                        </fieldset>
                                        <fieldset>
                                            <section>
                                                <label class="label">参数列表</label>
                                                <table class="table table-bordered"
                                                       style="width: 80% !important; float: left; margin-right: 2%;" id="table-details">
                                                    <thead>
                                                        <tr>
                                                            <th style="width: 100px;">参数名称</th>
                                                            <th style="width: 100px;">参数类型</th>
                                                            <th style="width: 100px;">参数描述</th>
                                                            <th>参数的值</th>
                                                        </tr>
                                                    </thead>
                                                    <tbody></tbody>
                                                </table>
                                            </section>
                                        </fieldset>
                                        <fieldset>
                                            <section>
                                                <label class="label">
                                                    数据源列信息
                                                </label>
                                                <table style="width: 80% !important; float: left; margin-right: 2%;" class="table table-bordered table-condensed table-hover smart-form" id="table-details-column">
                                                    <thead>
                                                        <tr>
                                                            <th>名称</th>
                                                            <th>数据类型</th>
                                                            <th>描述</th>

                                                        </tr>
                                                    </thead>
                                                    <tbody></tbody>
                                                </table>
                                            </section>
                                        </fieldset>
                                        <footer>
                                            <input type="hidden" name="TaskId" id="TaskId" />
                                            <input type="hidden" name="ParameterNames" id="ParameterNames" />
                                            <input type="hidden" name="ParameterValues" id="ParameterValues" />
                                            <input type="hidden" value="IntegrityCheck" name="sys:sno" />
                                            <input type="hidden" value="CreateInstance" name="sys:act" />
                                            <button type="submit" id="action_btn" class="btn btn-primary">创建</button>
                                            <button type="button" class="btn btn-default" onclick="window.history.back();">
                                                返回
                                            </button>
                                        </footer>
                                    </form>
                                    <!--/ Success states for elements -->
                                </div>
                                <!-- end widget content -->
                            </div>
                            <!-- end widget div -->
                        </div>
                        <!-- end widget -->
                    </article>
                </div>

                <!-- end row -->

            </section>
        </div>
        <!-- END MAIN CONTENT -->
    </div>


    <!--================================================== -->
    <!-- PACE LOADER - turn this on if you want ajax loading to show (caution: uses lots of memory on iDevices)
    <script data-pace-options='{ "restartOnRequestAfter": true }' src="js/plugin/pace/pace.min.js"></script>-->
    <!-- #PLUGINS -->
    <!-- Link to Google CDN's jQuery + jQueryUI; fall back to local -->


    <script src="js/libs/jquery-2.1.1.min.js"></script>
    <script src="js/libs/jquery-ui-1.10.3.min.js"></script>
    <!-- BOOTSTRAP JS -->
    <script src="js/bootstrap/bootstrap.min.js"></script>

    <!-- IMPORTANT: APP CONFIG -->
    <script src="js/app.config.js"></script>


    <!-- CUSTOM NOTIFICATION -->
    <script src="js/notification/SmartNotification.min.js"></script>

    <!-- JARVIS WIDGETS -->
    <script src="js/smartwidgets/jarvis.widget.min.js"></script>


    <!-- SPARKLINES -->
    <script src="js/plugin/sparkline/jquery.sparkline.min.js"></script>

    <!-- JQUERY MASKED INPUT -->
    <script src="js/plugin/masked-input/jquery.maskedinput.min.js"></script>


    <!-- JQUERY UI + Bootstrap Slider -->
    <script src="js/plugin/bootstrap-slider/bootstrap-slider.min.js"></script>

    <script src="js/app.min.js"></script>
    <script src="appjs/Common.js"></script>
    <script src="appjs/Helper.js"></script>


    <script src="js/plugin/jquery-validate/jquery.validate.min.js"></script>
    <script src="js/plugin/jquery-validate/jquery.metadata.js"></script>
    <script src="js/plugin/jquery-validate/messages_cn.js"></script>
    <script>
        var taskId = GetQueryString("taskId");
        var DtSourceId = GetQueryString("DtSourceId");
        var DtSerId = GetQueryString("DtSerId");
        var EnableDataVerification = true;
        var IntegrityCheckList;
        $(function () {
            getDataSourceDetails();
            $("#TaskId").val(taskId);
            $("#IntegrityCheckId").change(function () {
               
                var $this = $(this);
                if ($this.val() != "") {
                    for (var i = 0; i < IntegrityCheckList.Items.length; i++) {
                        if (IntegrityCheckList.Items[i].Id == $this.val()) {
                            ProductionTable(IntegrityCheckList.Items[i].ParameterList);
                        }
                    }
                }
            });

            $("#AddForm").validate({
                submitHandler: function (form) {
                    var trs = $("#table-details tbody tr");
                    var parameterNames = "";
                    var parameterValues = "";
                    try {
                        for (var i = 0; i < trs.length; i++) {
                            var tempobj = JSON.parse($(trs[i]).attr("data"));
                            if (i == trs.length - 1) {
                                parameterNames += (tempobj.name);
                                parameterValues += ($("#dtcol-value-" + tempobj.editNum).val());
                            } else {
                                parameterNames += (tempobj.name + ",");
                                parameterValues += ($("#dtcol-value-" + tempobj.editNum).val() + ",");
                            }

                        }
                        $("#ParameterNames").val(parameterNames);
                        $("#ParameterValues").val(parameterValues);
                    } catch (e) {
                        console.log(e);
                    }
                    ShowGritter("提交中");
                    $.ajax({
                        url: apiUrl,
                        data: $("#AddForm").serialize(),
                        type: "Post",
                        dataType: "json",
                        success: function (data) {
                            if (data.IsSccuess) {
                                ShowGritter("执行成功", 2, "SchedulingTaskDataMonitoringExampleManagement.html?taskId=" + taskId);
                            } else {
                                if (IsLogined(data.ErrorCode)) {
                                    alert("失败（" + "错误代码：" + data.ErrorCode + "，错误信息：" + data.Message + ")");
                                }
                            }
                        },
                        error: function () {
                            alert("系统异常，请稍后再试");
                        }
                    });
                }


            });
            GetIntegrityCheckList();
        });

        var ProductionTable = function (data) {
            var trlist = "";
            for (var i = 0; i < data.length; i++) {
                var $this = data[i];
                trlist += AssembleData({ name: $this.Name, type: $this.Type, editNum: i, des: $this.Caption });
            }
            $("#table-details tbody").html(trlist);
        }

        //传入data对象返回一行的表格数据
        var AssembleData = function (data) {
            var tr = ("<tr data='" + JSON.stringify(data) + "'><td>");
            tr += (data.name + "</td>");
            tr += ("<td>" + data.type + "</td>");
            tr += ("<td>" + data.des + "</td>");
            tr += ("<td><input type=\"text\"   id=\"dtcol-value-" + data.editNum + "\" style='width:100%;' value=\"\"  /></td></tr>");
            return tr;
        }
        var GetIntegrityCheckList = function () {
            $.ajax({
                url: apiUrl,
                data: { "sys:sno": "IntegrityCheck", "sys:act": "GetList" },
                dataType: "json",
                success: function (data) {
                    $("#action_btn").removeAttr("disabled");
                    if (data.IsSccuess) {
                        IntegrityCheckList = data.Data;
                        CreateSelect();
                    } else {
                        if (IsLogined(data.ErrorCode)) {
                            alert("失败（" + "错误代码：" + data.ErrorCode + "，错误信息：" + data.Message + ")");
                        }
                    }
                },
                error: function () {
                    alert("系统异常，请稍后再试");
                }
            });
        }
        var CreateSelect = function () {
            if (IntegrityCheckList.Items != null && IntegrityCheckList.Items.length > 0) {
                var str = "";
                for (var i = 0; i < IntegrityCheckList.Items.length; i++) {
                    var obj = IntegrityCheckList.Items[i];
                    str += ("<option value=\"" + obj.Id + "\"" + ">" + obj.Name + " （" + obj.Description + "）</option>");
                }
                $("#IntegrityCheckId").append(str);
            }
        }
        //获取数据源信息
        var getDataSourceDetails = function () {
            $.ajax({
                url: apiUrl,
                data: {
                    "sys:sno": "ETL",
                    "sys:act": "GetDataSource",
                    "DataServiceId": DtSerId,
                    "DataSourceId": DtSourceId
                },
                dataType: "json",
                success: function (data) {
                    if (data.IsSccuess) {
                        AppadColumnData(data.Data.Columns);//组装数据并并填充表格
                    } else {
                        if (IsLogined(data.ErrorCode)) {
                            alert(data.Message);
                        }
                    }
                },
                beforeSend: function () {
                    // $("btn_login").html("登录中...");
                }
            });
        }
        //组合列数据
        //传入的参数类型为对象数组
        var AppadColumnData = function (data) {
            //var list = new Array();
            var trlist = "";
            for (var i = 0; i < data.length; i++) {
                var $this = data[i];
                trlist += AssembleColumnData({ name: $this.Name, id: $this.Id, type: $this.Type, Description: $this.Description });
            }
            $("#table-details-column").append(trlist);
        }
        //传入列对象返回一行的表格数据
        var AssembleColumnData = function (data) {
            var tr = "<tr>";
            tr += ("<td>" + data.name + "</td>");
            tr += ("<td>" + data.type + "</td>");
            tr += ("<td>" + data.Description + "</td>");
            tr += ("</tr>");
            return tr;
        }
    </script>
</body>
</html>
